package com.gem.day10;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 本类用来演示Java正则表达式API
 * 
 * @author easonsy
 * 2020年7月30日 上午9:53:10
 */
public class RegexDemo {
	public static void main(String[] args) {
		//方式一: java.util.regex.Pattern和Matcher
		//1.获取正则表达式模板类对象
		Pattern pattern = Pattern.compile("[A-Za-z-]+");
		//2.从模板类对象中获取正则匹配器对象
		Matcher matcher = pattern.matcher(
				"Java是一门面向对象编程语言，不仅吸收了C++语言的各种优点，还摒弃了C++里难以理解的多继承、指针等概念，因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表，极好地实现了面向对象理论，允许程序员以优雅的思维方式进行复杂的编程 [1]  。");
		//3.调用匹配器方法进行匹配
		//a.精确匹配
		//boolean result = matcher.matches();
		//System.out.println(result);

		//b.模糊匹配
		while (matcher.find()) {
			int start = matcher.start();
			int end = matcher.end();
			System.out.println(matcher.group() + "在文中[" + start + "," + end + "]位置处.");
		}

		//方式二:java.lang.String类matches方法
		//精确匹配
		System.out.println("EA88888".matches("[A-Z][A-z0-9]{5,}"));
	}
}
